Systems and methods to configure metadata

ABSTRACT

At least one server receives at least one signal representing a request for an initiation of the server for the installation and configuration of an application. The server connects with client(s) after receiving the signal and transmits at least one display image to the client such that the client can render the display image via a web interface, wherein the display image provides information regarding the server. The server receives an application installer, wherein the client is can use the web interface to facilitate transmission of the application installer. The server installs and configures the application based on at least one input received from the client, wherein the client is enabled to use the web interface to facilitate transmitting the input to the server. The server generates an image based on the application configuration and transmits the image to a data management system for storage until deployment.

RELATED AND CO-PENDING APPLICATION

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 14/097,195 entitled SYSTEMS AND METHODS TOCONFIGURE APPLICATIONS filed on Dec. 4, 2013, and U.S. patentapplication Ser. No. 14/097,167 entitled SYSTEMS AND METHODS FOR SHARINGIMAGE DATA, filed on Dec. 4, 2013, the disclosures of which areincorporated herein by reference in their entirety.

BACKGROUND

In systems, such as computing systems, one or more software programs orapplications that are being executed on a server or host computingdevice can be shared with one or more remote clients or remote computingdevices. For example, at least some known computing devices includebrowsers that support various mechanisms for receiving a continuousstream of data, such as image data, from the server, wherein the imagedata is based on the application being executed within the server. In avirtual desktop infrastructure (VDI), a virtual desktop may beaccessible by one or more remote clients through a network and a servermay be used to provide various image data from the virtual desktop toone or more remote clients. More specifically, each remote client mayinclude a browser or a web client that supports various methods forreceiving a continuous stream of image data from the server.

Using such concepts, the software programs or applications can be usedvia the remote clients or remote computing devices. However, there maybe no direct access to the host server or computing device for the useror owner of the application. For example, data, such as metadata aboutthe application is managed via a web interface directly in the browser,while the application itself is managed via a separate remote desktopapplication. As such, the user or owner of the application is unable toinstall and run the application directly in the same browser where theapplication is being managed.

BRIEF DESCRIPTION

In one embodiment, a system is provided that facilitates an applicationto be installed or configured such that the application can be rundirectly in the same browser where the application is being managed. Thesystem generally includes at least one server that is configured toreceive at least one signal representing a request for an initiation ofthe server for the installation and configuration of an application. Theserver is also configured to connect with at least one client afterreceiving the signal and to transmit at least one display image to theclient such that the client is enabled to render the display image via aweb interface, wherein the display image provides information regardingthe server. The server is further configured to receive an applicationinstaller, wherein the client is enabled to use the web interface tofacilitate a transmission of the application installer. The server isconfigured to commence installing the application and to configure theapplication based on at least one input received from the client,wherein the client is enabled to use the web interface to facilitatetransmitting the input to the server. The server is configured togenerate a server image based on the application configuration and totransmit the server image to a data management system, wherein theserver image is stored in the data management system for deployment.

In another embodiment, a method of configuring an application isprovided. At least one signal is received via at least one server,wherein the signal represents a request for an initiation of the serverfor the installation and configuration of an application. The server isconnected with at least one client after receiving the signal. At leastone display image is transmitted from the server to the client such thatthe client is enabled to render the display image via a web interface,wherein the display image provides information regarding the server. Anapplication installer is received via the server, wherein the client isenabled to use the web interface to facilitate a transmission of theapplication installer. Installation of the application is commenced viathe server. The application is configured based on at least one inputreceived from the client, wherein the client is enabled to use the webinterface to facilitate transmitting the input to the server. A serverimage is generated based on the application configuration via the serverand the server image is transmitted from the server to a data managementsystem, wherein the server image is stored in the data management systemfor deployment.

In yet another embodiment, at least one computer-readable storage mediumis provided. The computer-readable storage medium hascomputer-executable instructions embodied thereon, wherein, whenexecuted by at least one processor, the computer-executable instructionscause the processor to receive at least one signal representing arequest for an initiation of the processor for the installation andconfiguration of an application. The computer-executable instructionsfurther cause the processor to connect with at least one client afterreceiving the signal and to transmit at least one display image to theclient such that the client is enabled to render the display image via aweb interface, wherein the display image provides information regardingthe processor. The computer-executable instructions also cause theprocessor to receive an application installer, wherein the client isenabled to use the web interface to facilitate a transmission of theapplication installer. The computer-executable instructions cause theprocessor to commence installing the application and to configure theapplication based on at least one input received from the client,wherein the client is enabled to use the web interface to facilitatetransmitting the input to the processor. The computer-executableinstructions further cause the processor to generate a processor imagebased on the application configuration and to transmit the processorimage to a data management system, wherein the processor image is storedin the data management system for deployment.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an exemplary system having one or moreservers in communication with one or more clients.

FIG. 2 is a swimlane diagram of an exemplary method for configuring anapplication using the system shown in FIG. 1.

FIGS. 3A-3C are each block diagrams of exemplary interfaces that can begenerated by the system shown in FIG. 1.

DETAILED DESCRIPTION

FIG. 1 illustrates an exemplary system 100 that includes one or morephysical computer systems or hosts, such as host 101 and host 102. Insome embodiments, each host 101 and 102 includes hardware units 104 and105, respectively, and software 106 and 107, respectively. Software 106and 107 run on hardware units 104 and 105, respectively, such thatvarious applications or programs can be executed on hardware units 104and 105 by way of respective software 106 and 107. In some embodiments,the function of software 106 and 107 can be implemented directly inrespective hardware 104 and 105, e.g., as a system-on-a-chip, firmware,field-programmable gate array (FPGA), etc. In some embodiments, hardwareunits 104 and 105 each includes one or more processors, such asprocessor 110 and processor 111, respectively. In some embodiments,processors 110 and 111 are each an execution unit, or “core,” on amicroprocessor chip. In some embodiments, processors 110 and 111 mayeach include a processing unit, such as, without limitation, anintegrated circuit (IC), an application specific integrated circuit(ASIC), a microcomputer, a programmable logic controller (PLC), and/orany other programmable circuit. Alternatively, processors 110 and 111may each include multiple processing units (e.g., in a multi-coreconfiguration). The above examples are exemplary only, and, thus, arenot intended to limit in any way the definition and/or meaning of theterm “processor.”

Each hardware unit 104 and 105 also includes a system memory 112 and113, respectively, wherein each memory 112 and 113 is coupled torespective processor 110 and 111 via a system bus 114 and 115,respectively. Each memory 112 and 113 can be a general volatile randomaccess memory (RAM). For example, each hardware unit 104 and 105 caninclude a 32 bit microcomputer with 2 Mbit ROM and 64 Kbit RAM. Eachmemory 112 can also be a read-only memory (ROM), a network interface(NIC), and/or other device(s).

In some embodiments, one or more end users may connect to, and interactwith, host 101 and/or host 102 by using separate remote terminals. Forexample, two different end users in different locations can connect tohost 101 and/or 102 by each using separate remote terminals 120 and 122.Each remote terminal 120 and 122 can be capable of communicating withhost 101 and/or host 102 via separate networks 130 and 132,respectively. Each network 130 and 132 can be the Internet, a local areanetwork (LAN), a wide area network (WAN), a personal area network (PAN)or any combination thereof, and each network 130 and 132 can transmitinformation between host 101 and/or host 102 and remote terminalterminals 120 and 122, respectively, at different rates or speeds.Remote terminals 120 and 122 can each be a desktop computer, laptop,mobile device, tablet, thin client, or other device havingcommunications interface. Each remote terminal 120 and 122 can also becapable of displaying applications running inside host 101 and/or host101 to the end user using a computer display (not shown) or other outputdevice. In some embodiments, each remote terminal 120 and 122 can alsobe capable of receiving user input from the respective end user andtransmitting the received user input to host 101 and/or host 102.

In some embodiments, each host 101 and 102 can output at least onedesktop each, such as desktop 140 and desktop 141, respectively, to auser of respective host 101 and 102. Desktops 140 and 141 can each be aninteractive user environment provided by an operating system and/orapplications running within respective host 101 and 102, and generallyincludes one or more screens or displays images, such as display image142 and display image 143, respectively, but may include other outputs,such as audio, indicator lamps, tactile feedback, etc. Each desktop 140and 141 can also accept input from the user in the form of deviceinputs, such as keyboard and mouse inputs. In some embodiments, eachdesktop 140 and 141 can also accept simulated inputs, such as simulatedkeyboard and mouse inputs. In addition to user input and/or output, eachdesktop 140 and 141 can send and receive device data, such as inputand/or output for a FLASH memory device local to the user, or to a localprinter. In some embodiments, each display image 142 and 143 can bepresented to each end user on the computer displays of remote terminals120 and 122.

In some embodiments, each host 101 and 102 includes at least one server,such as application server 170 and application server 172, respectively,that are each in communication with respective software 106 and 107.Each application server 170 and 172 can also be in communication witheach remote terminal 120 and 122. For example, in some embodiments, eachapplication server 170 and 172 can be in communication with a client ineach of the remote terminal 120 and 122, such as clients 160 and 162,respectively. Each application server 170 and 172 can be incommunication with clients 160 and 162 via networks 130 and 132,respectively. In some embodiments, each client 160 and 162 can be a webclient or web browser that is configured to run on respective remoteterminals 120 and 122 and is configured to connect to applicationservers 170 and 172 as appropriate.

In some embodiments, each application server 170 and 172 can beimplemented on a stand-alone server (not shown) and/or connected to oneor more additional servers. For example, in some embodiments,application servers 170 and 172 can be connected to a configurationapplication server 150 via network 176. Network 176 can be the Internet,a LAN, a WAN, or any combination thereof, and network 176 can transmitinformation between configuration application server 150 and applicationservers 170 and 172. In some embodiments, configuration applicationserver 150 can be implemented within a physical computer system or host151. Alternatively, configuration application server 150 can beimplemented on a stand-alone server (not shown). In some embodiments,similar to hosts 101 and 102, host 151 can also include a hardware unit152 and software 154. Software 154 can run on hardware unit 152 suchthat various applications or programs can be executed on hardware 152 byway of software 154. In some embodiments, the functions of software 154can be implemented directly in hardware unit 152, e.g., as asystem-on-a-chip, firmware, FPGA, etc. In some embodiments, similar tohardware units 104 and 105, hardware unit 152 also includes one or moreprocessors 156. Similar to hardware units 104 and 105, hardware unit 152also includes a system memory 158 that is coupled to processor 156 via asystem bus 159. In some embodiments, similar to host 101 and 102, host151 can also provide at least one desktop each, such as desktop 173,which includes a display image 174.

In some embodiments, configuration application server 150 can also beconnected to a web server 180 via a network 182. In some embodiments,web server 180 and can be hosted together with a presence server (notshown). Network 182 can also be the Internet, a LAN, a WAN, or anycombination thereof, and can transmit information between configurationapplication server 150 and web server 180. Moreover, in someembodiments, configuration application server 150 and/or web server 180can also be in direct communication with clients 160 and 162 via therespective networks 130 and 132. Web server 180 can also be in directcommunication with application servers 170 and 172 in some embodiments.

In some embodiments, any data, such as images and/or image data (i.e.,meta data) that is generated by configuration application server 150 canbe stored in a data management system 190 that is in communication withconfiguration application server 150 via network 176. For example, insome embodiments, data management system 190 includes a database 191 forstoring data. Data management system 190 can be managed and/or run by athird party, such as Amazon or Microsoft that provide Amazon ElasticBlock Store or Windows Azure Drives, respectively. Database 191 caninclude the data received from configuration application server 150. Insome embodiments, the data management system 190 can store a systemimage comprising the entire state of a computer system, including theentire contents of that computer's RAM. In some embodiments, the datamanagement system 190 can store a server image comprising the entirestate of a server that is running on a computer. In some embodiments,data management system 190 can communicate directly with each host 101and 102. Data management system 190 can also communicate directly withremote terminals 120 and 122 in some embodiments. An additional datamanagement system 192 that includes a database 194 can be incommunication with web server 180, wherein database 194 can includemetadata.

In some embodiments, web server 180 can be communication with anadministrator of an application that is using, for example, remoteterminal 184, via network 186. Network 186 can also be the Internet, aLAN, a WAN, or any combination thereof, and can transmit informationbetween web server 180 and remote terminal 184. For example, in someembodiments, web server 180 can be in communication with a client 187 inremote terminal 184. Web server 180 can be in communication with client187 via network 186. In some embodiments, client 187 can be a web clientor web browser that is configured to run on remote terminal 184 and isconfigured to connect to web server 180 as necessary. In someembodiments, client 187 can be in direct communication withconfiguration application server 150 via network 182.

In some embodiments, remote terminal 184 can be a desktop computer,laptop, mobile device, tablet, thin client, or other device havingcommunications interface. Similar to remote terminals 120 and 122,remote terminal 184 can also be capable of displaying applicationsrunning inside, for example, host 101 and/or host 102, to theadministrator using a computer display 188 or other output device. Insome embodiments, the administrator can use an input interface 189within remote terminal 184 to communicate with web server 180 such thatthe administrator can input commands to run, install, and/or configureapplications that can be viewed by remote terminals 120 and 122. Inputinterface 189 may include, for example, a keyboard, a pointing device, amouse, a stylus, a touch sensitive panel (e.g., a touch pad or a touchscreen), a gyroscope, an accelerometer, a position detector, and/or anaudio input device.

System 100 can be implemented on one or more physical enterprise ordesktop computer system, such as a work or home computer that isremotely accessed when travelling. Alternatively, system 100 may beimplemented on a virtual desktop infrastructure (VDI) that has aplurality of virtual machines (VMs) (not shown) on each host 101, 102,and 151 (such as an enterprise computer system). For example, in someembodiments, application servers 170 and 172 can be connected to aplurality of VMs on respective host 101 and 102 and, similarly,configuration application server 150 can be connected to a plurality ofVMs on host 151. In a VDI deployment, desktop 173 can be exported from acorresponding one of the VMs to remote terminal 184. Similarly, desktop140 and 141 can be exported from a corresponding one of the VMs toremote terminals 120 and 122. In such an embodiment, software 106, 107,and 154 can each be virtualization software and the VMs can be executingon respective hardware 104, 105, and 152 by way of the virtualizationsoftware. It should therefore be understood that the present disclosurecan be implemented in a variety of contexts, but may be particularlyuseful wherever graphical user interface remote displaying isimplemented.

During operation of system 100, as explained in more detail below withrespect to FIGS. 2 and 3A-3C, an administrator of an application usingremote terminal 184 is provided tools to install and/or configure one ormore applications such that the application(s) are run directly in thesame client 187 (e.g., browser) where the application(s) are beingmanaged. For example, in some embodiments, the administrator can useremote terminal 184 to transmit a request to web server 180 to installand configure an application via configuration application server 150.The request can be an input by the administrator using a web-basedinterface provided by client 187 on display 188. In response to therequest, web server 180 can transmit at least one signal toconfiguration application server 150 to initiate or launch theconfiguration instance for the application. Configuration applicationserver 150 can initiate the configuration instance for the applicationand configure the application based on inputs received by theadministrator through client 187. The inputs for the configurations canalso be made by the administrator using the web-based interface. Theconfiguration application server 150 can generate an image based on theapplication configuration and transmit the image. In some embodiments,the image can contain the entire content of the configuration server,including the operating system and all installed applications. In otherembodiments, the image may only contain information about a singleimage. At the same time, web server 180 can configure image data, suchas metadata. The image and/or the metadata can be stored in datamanagement system 190 and data management system 192, respectively. Theimage and/or metadata can be later deployed to, for example, applicationservers 170 and/o 172 for use by at least one of the remote terminals120 and 122. For example, the image and/or image data can be transmittedto application servers 170 and/or 172 such that the image and image datacan be subsequently transferred to remote terminals 120 and 122.Accordingly, by using this approach, the application can be installedand run directly in the same browser (i.e., client 187) where theapplication is being managed by the administrator.

FIG. 2 is a swimlane diagram 200 of an exemplary method for configuringone or more applications using system 100 (shown in FIG. 1). This methodmay be embodied within a plurality of computer-executable instructionsstored in one or more memories, such as one or more computer-readablestorage mediums. The computer storage mediums include non-transitorymedia, which may include volatile and nonvolatile, removable andnon-removable mediums implemented in any method or technology forstorage of information such as computer-readable instructions, datastructures, program modules or other data. The instructions may beexecuted by one or more processors to perform the functions describedherein.

In operation 201, client 187 establishes one or more communicationchannels with web server 180 via network 186 (shown in FIG. 1), whereinthe channel(s) facilitate communication between client 187 and webserver 180 such that data can be shared between client 187 and webserver 180. For example, in some embodiments, web server 180 can share aweb-based interface having display image(s) or outputs with client 187.FIG. 3A illustrates a web-based interface 300 that can be generated byweb server 180 and displayed by client 187 on remote terminal 184.

Referring to FIG. 2, in operation 202, client 187 transmits at least onerequest to web server 180, wherein the request is a request to initiateand configure one or more applications by a server. This request is madeby an administrator via client 187 through a web-based interface, suchas interface 300, that the administrator can see and input informationin using display 188 (shown in FIG. 1) and input interface 189 (shown inFIG. 1). In operation 203, web server 203 receives the request. Inoperation 204, web server 180 processes the request. In operation 205,web server 180 establishes a connection with a server, such asconfiguration application server 150. Web server 180 transmits at leastone signal representing a request for an initiation of the server forthe installation and configuration of an application to configurationapplication server 150 in operation 206. Configuration applicationserver 150 receives the signal in operation 207. In some embodiments,web server 180, configuration application server 150, and client 187 cancommunicate and transmit information between each other similar to thesystems and methods described in co-pending U.S. patent application Ser.No. 14/097,167 entitled SYSTEMS AND METHODS FOR SHARING IMAGE DATA filedon Dec. 4, 2013, which is incorporated herein by reference in itsentirety.

In operation 208, configuration application server 150 connects withclient 187. As such, client 187 is connected to web server 180 andconfiguration application server 150. In operation 209, configurationapplication server 150 transmits at least one display image to client187. While FIG. 2 illustrates the display image being directlytransmitted from configuration application server 150 to client 187, thedisplay image may also be transmitted by configuration applicationserver 150 using web server 180 in some embodiments.

In operation 210, client receives display image 210. In someembodiments, the display image can be transmitted and received similarto the systems and methods described in co-pending U.S. patentapplication Ser. No. 14/097,167 entitled SYSTEMS AND METHODS FOR SHARINGIMAGE DATA filed on Dec. 4, 2013, which is incorporated herein byreference in its entirety.

In some embodiments, client can render and view the display imagebecause it can be positioned and part of the web-based interface thatclient is viewing. For example, referring to FIG. 3A, web-basedinterface 300 includes a display image 301 that was provided by, forexample, configuration application server 150. In some embodiments,display image 301 can provide information about configurationapplication server 150, such as the software installed on the server. Insome embodiments, the client can send messages, such as mouse andkeyboard movements, allowing an administrator to interact withconfiguration application server 150, for example, to make configurationchanges using the operating system. Because interface 300 is availabledirectly in the client or browser window via display 188, theadministrator can create a new application by selecting a drop-down menu302 within interface 300 and provide the name of the application and thelocation of an installer binary.

Referring to FIG. 2, client 187 transmits the application installer toconfiguration application server 150 in operation 211. The applicationinstaller is received by configuration application server 150 inoperation 212. For example, in some embodiments, client 187 can directlytransmit an application installer file to configuration applicationserver 150. Alternatively, the application installer file can bereceived by application server 150 using other known techniques, such asusing a shared drive. In some embodiments, the file is transmitted inportions over a web protocol.

In operation 213, configuration application server 150 transmits astatus notification of the receipt of the application installer file.For example, in some embodiments, the file is transmitted in portionsand configuration application server 150 transmits the status of theportions that are being received until the entire file is received. Inoperation 215, the status notification is received by client 187 suchthat client 187 know the information being received by configurationapplication server 150. In some embodiments, the status notification canshow the status 304 as a percentage of completion (i.e., 60% complete).The status notifications can be continuously sent client 187 andoperations 211 to 215 can repeated until the file is fully received byconfiguration application server 150.

After configuration application server 150 receives the entireapplication installer file, client 187 is then enabled to run theinstaller directly in the web-based interface. For example, FIG. 3Billustrates a web-based interface 320 that client 187 can use to run andconfigure the application.

Referring to FIG. 2, since the file is fully received by configurationapplication server 150, an administrator is enabled to install theapplication and make any needed configuration changes for theapplication. For example, the administrator can provide additionalinputs for commands for the configuration of the application. The client187 transmits the commands in operation 219 to configuration applicationserver 150, and the commands are received by configuration applicationserver 150 in operation 220. Such commands can be inputted directly onthe web-based interface. Configuration application server thenconfigures the application accordingly in operation 223. Commands can becommunicated by the administrator until the application is fullyconfigured and, as such, operations 219-223 can be repeated until theapplication is appropriately configured. In some embodiments, thecommands include commands to change the configuration and/or configurean operating system. While FIG. 2 illustrates client 187 transmittingthe commands directly to configuration application server 150, thecommands may also be transmitted to configuration application server 150using web server 180 in some embodiments.

At the same time the administrator can provide additional inputs forcommands to construct and/or configure the metadata. For example, insome embodiments, the administrator can edit metadata about theapplication, such as the application icon, the gesture and keyboardmapping, and screen grab information. The administrator can even testthe application in some embodiments. The commands for the metadata canbe transmitted by client 187 separately to web server 180 in operation224. The commands are received by web server 180 in operation 225. Webserver 180 configures the metadata in operation 226. Operations 224 to226 can be repeated until the metadata is fully configured. The metadatais transmitted by web server 180 to data management system 192 inoperation 227. The metadata is received by data management system 192 inoperation 228. Data management system 192 stores the metadata indatabase 194 (shown in FIG. 1) in operation 229.

After the application is installed and configured, then in operation230, configuration application server 150 generates an image based onthe application configuration. The image is transmitted by configurationapplication server 150 to data management system in operation 231. Datamanagement system 190 receives the image in operation 232. In operation233, data management system 190 stores the image in database 191 (shownin FIG. 1). While FIG. 2 illustrates the configuration applicationserver 150 transmitting the image data to data management system 190,the image may also be generated and transmitted by web server 180 or adifferent server.

The image and other related data can then be deployed to one or moreservers, such as application servers 170 and 172 (shown in FIG. 1) inorder to scale the application and the application can be run by theapplication servers 170 and 172 for remote terminals 120 and 122. Insome embodiments, the deployment of the application can be controlled bythe administrator. For example, FIG. 3C illustrates an output 350 thatcan be generated by web server 180, wherein output 350 displaysinformation about application servers, such as application servers 170and 172

Output 350 enables the administrator to control the scaling anddeployment of the application based on the number of servers they wouldlike available and the locations from which they would like thoseservers to be available. For example, referring to FIG. 2, web server180 generates the output of the servers, such as output 350, inoperation 234. In some embodiments, web server 180 generates the outputbased on information received directly from the pertinent applicationservers, such as application servers 170 and 172. In operation 235, webserver 180 transmits the output to client 187. The output is received byclient 187 in operation 236 and the administrator can see the output viadisplay 188. Using the output with the web-based interface, theadministrator can input commands. The commands can include how and whereto deploy the images and/or any image data stored in database 191 and192, respectively. The commands are transmitted to web server 180 inoperation 237. In some embodiments, the commands can be transmitted toapplication servers 170 and 172 directly. Web server 180 receives thecommands in operation 238 and web server 180 transmits requests toreceive the image and any related image data to data management system190 and to data management system 192 in operation 240. Data managementsystem 190 and 192 receive the requests in operation 242 and 243,respectively. Data management system 190 transmits the image inoperation 244 and Data management system 192 transmits the relatedmetadata in operation 245. In some embodiments, the image and anyrelated image data can be transmitted to a new server not pictured inorder to create a new instance of the application. In other embodiments,the image and any related image data can be transmitted directly toexisting application servers 170 and/or 172 in order to create a newinstance of the application or to update the application.

After the image and/or image data is received by application servers 170and/or 172, the image and/or image data can be transmitted or deployedby application server 170 and/or 172 to remote terminals 120 and 122such that the application can be shared with end users. In someembodiments, system 100 is enabled to share the image and/or relateddata by using the systems and methods described in co-pending U.S.patent application Ser. No. 14/097,167 entitled SYSTEMS AND METHODS FORSHARING IMAGE DATA filed on Dec. 4, 2013, which is incorporated hereinby reference in its entirety.

The various embodiments described herein may employ variouscomputer-implemented operations involving data stored in computersystems. For example, these operations may require physical manipulationof physical quantities—usually, though not necessarily, these quantitiesmay take the form of electrical or magnetic signals, where they orrepresentations of them are capable of being stored, transferred,combined, compared, or otherwise manipulated. Further, suchmanipulations are often referred to in terms, such as producing,identifying, determining, or comparing. Any operations described hereinthat form part of one or more embodiments of the disclosure may beuseful machine operations. In addition, one or more embodiments of thedisclosure also relate to a device or an apparatus for performing theseoperations. The apparatus may be specially constructed for specificrequired purposes, or it may be a general purpose computer selectivelyactivated or configured by a computer program stored in the computer. Inparticular, various general purpose machines may be used with computerprograms written in accordance with the teachings herein, or it may bemore convenient to construct a more specialized apparatus to perform therequired operations.

The various embodiments described herein may be practiced with othercomputer system configurations including hand-held devices,microprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers, and the like.

One or more embodiments of the present disclosure may be implemented asone or more computer programs or as one or more computer program modulesembodied in one or more non-transitory computer readable media. The termcomputer readable medium refers to any data storage device that canstore data which can thereafter be input to a computer system—computerreadable media may be based on any existing or subsequently developedtechnology for embodying computer programs in a manner that enables themto be read by a computer. Examples of a computer readable medium includea hard drive, network attached storage (NAS), read-only memory,random-access memory (e.g., a flash memory device), a CD (CompactDiscs)—CD-ROM, a CD-R, or a CD-RW, a DVD (Digital Versatile Disc),blue-ray disc (BD-ROM), a magnetic tape, and other optical andnon-optical data storage devices. The computer readable medium can alsobe distributed over a network coupled computer system so that thecomputer readable code is stored and executed in a distributed fashion.

Although one or more embodiments of the present disclosure have beendescribed in some detail for clarity of understanding, it will beapparent that certain changes and modifications may be made within thescope of the claims. Accordingly, the described embodiments are to beconsidered as illustrative and not restrictive, and the scope of theclaims is not to be limited to details given herein, but may be modifiedwithin the scope and equivalents of the claims. In the claims, elementsand/or steps do not imply any particular order of operation, unlessexplicitly stated in the claims.

In addition, as mentioned above, one or more embodiments of the presentdisclosure may also be provided with a virtualization infrastructure.While virtualization methods may assume that virtual machines presentinterfaces consistent with a particular hardware system, virtualizationmethods may also be used in conjunction with virtualizations that do notcorrespond directly to any particular hardware system. Virtualizationsystems in accordance with various embodiments, implemented as hostedembodiments, non-hosted embodiments or as embodiments that tend to blurdistinctions between the two, are all envisioned. Furthermore, variousvirtualization operations may be wholly or partially implemented inhardware, or implemented with traditional virtualization orparavirtualization techniques. Many variations, modifications,additions, and improvements are possible, regardless the degree ofvirtualization. The virtualization software can therefore includecomponents of a host, console, or guest operating system that performsvirtualization functions. Plural instances may be provided forcomponents, operations or structures described herein as a singleinstance. Finally, boundaries between various components, operations anddata stores are non-limiting, and particular operations are illustratedin the context of specific illustrative configurations. Otherallocations of functionality are envisioned and may fall within thescope of the disclosure(s). In general, structures and functionalitypresented as separate components in exemplary configurations may beimplemented as a combined structure or component. Similarly, structuresand functionality presented as a single component may be implemented asseparate components. These and other variations, modifications,additions, and improvements may fall within the scope of the appendedclaims(s).

What is claimed is:
 1. A system comprising: at least one processor andat least one memory coupled to said at least one processor; and a webserver coupled to said at least one processor and to said at least onememory device, wherein said web server is configured to: receive atleast one first signal representing a request for an initiation of saidconfiguration application server for the installation and configurationof an application; connect with said configuration application serverafter receiving the at least one first signal to facilitate installingthe application; receive at least one second signal representing atleast one command to configure metadata about the application; configurethe metadata based on the at least one command; and transmit theconfigured metadata to a data management system, wherein the datamanagement system is configured to store the configured metadata in adatabase.
 2. The system of claim 1, further comprising a configurationapplication server coupled to said at least one processor and to said atleast one memory device, wherein said configuration application serveris configured to: generate an image based on the configured metadata;and transmit the image to the data management system, wherein the datamanagement system is configured to store the image in the database withthe corresponding configured metadata.
 3. The system of claim 2, furthercomprising at least one application server in communication with saidweb server and with said configuration application server, wherein saidat least one application server is configured to: receive the image andthe corresponding configured metadata that is stored in the datamanagement system; and deploy the image and the corresponding configuredmetadata to at least one remote terminal.
 4. The system of claim 3,wherein said at least one application server is configured to run theapplication with the configured metadata for the at least one remoteterminal.
 5. The system of claim 3, wherein said web server is furtherconfigured to generate at least one output that displays informationabout said at least one application server.
 6. The system of claim 5,wherein said web server is further configured to transmit the at leastone output to the at least one remote terminal.
 7. The system of claim1, wherein said web server is configured to configure the metadata bybeing configured to at least one of construct or edit the metadata. 8.The system of claim 1, wherein said web server is configured toconfigure the metadata by being configured to edit at least one of anapplication icon, a gesture mapping, a keyboard mapping, and screen grabdata.
 9. A method of configuring metadata, said method comprising:receiving at least one first signal, via a web server, wherein the atleast one first signal represents a request for an initiation of aconfiguration application server for the installation and configurationof an application; connecting the web server with the configurationapplication server after receiving the at least one first signal tofacilitate installing the application; receiving at least one secondsignal, via the web server, wherein the at least one second signalrepresents at least one command to configure metadata about theapplication; configuring the metadata based on the at least one command;transmitting the configured metadata from the web server to a datamanagement system, and storing the configured metadata in a database.10. The method of claim 9, further comprising: generating an image basedon the configured metadata, via the configuration application server;transmitting the image to the data management system; and storing theimage in the database with the corresponding configured metadata. 11.The method of claim 10, further comprising: connecting at least oneapplication server with the web server and the configuration applicationserver; receiving the image and the corresponding configured metadatathat is stored in the data management system, via the at least oneapplication server; and deploying the image and the correspondingconfigured metadata from the at least one application server to at leastone remote terminal.
 12. The method of claim 11, further comprisingrunning the application with the configured metadata for the at leastone remote terminal.
 13. The method of claim 11, further comprisinggenerating, via the web server, at least one output that displaysinformation about the at least one application server.
 14. The method ofclaim 13, further comprising transmitting the at least one output fromthe web server to the at least one remote terminal.
 15. The method ofclaim 9, wherein configuring the metadata comprises at least one ofconstructing or editing the metadata.
 16. The method of claim 9, whereinconfiguring the metadata comprises editing at least one of anapplication icon, a gesture mapping, a keyboard mapping, and screen grabdata.
 17. At least one non-transitory computer-readable storage mediumhaving computer-executable instructions embodied thereon, wherein, whenexecuted by at least one processor, the computer-executable instructionscause the at least one processor to: receive at least one first signalthat is representative of a request for the installation andconfiguration of an application; facilitate installing the application;receive at least one second signal that is representative of at leastone command to configure metadata about the application; configure themetadata based on the at least one command; and transmit the configuredmetadata to a data management system to enable storing the configuredmetadata in a database.
 18. The at least one non-transitorycomputer-readable storage medium of claim 17, wherein thecomputer-executable instructions further cause the at least oneprocessor to: generate an image based on the configured metadata; andtransmit the image to the data management system to enable storing theimage in the database with the corresponding configured metadata. 19.The at least one non-transitory computer-readable storage medium ofclaim 18, wherein the computer-executable instructions further cause theat least one processor to deploy the image and the correspondingconfigured metadata to at least one remote terminal.
 20. The at leastone non-transitory computer-readable storage medium of claim 19, whereinthe computer-executable instructions further cause the at least oneprocessor to run the application with the configured metadata for the atleast one remote terminal.
 21. The at least one non-transitorycomputer-readable storage medium of claim 17, wherein thecomputer-executable instructions cause the at least one processor toconfigure the metadata by causing the at least one processor toconstruct the metadata.
 22. The at least one non-transitorycomputer-readable storage medium of claim 17, wherein thecomputer-executable instructions cause the at least one processor toconfigure the metadata by causing the at least one processor to edit themetadata.
 23. The at least one non-transitory computer-readable storagemedium of claim 17, wherein the computer-executable instructions causethe at least one processor to configure the metadata by causing the atleast one processor to edit at least one of an application icon, agesture mapping, a keyboard mapping, and screen grab data.
 24. A systemcomprising: at least one processor and at least one memory coupled tosaid at least one processor; at least one server coupled to said atleast one processor and said at least one memory device, said at leastone server comprises a web server and a configuration applicationserver, wherein said web server is configured to: receive at least onesignal from at least one client, wherein the at least one signal isrepresentative of a request for an initiation of said configurationapplication server for the installation and configuration of anapplication; connect with said configuration application server afterreceiving the at least one signal; and wherein said configurationapplication server is configured to: transmit at least one display imageto the at least one client such that the at least one client is enabledto render the at least one display image via a web interface, whereinthe at least one display image provides information regarding saidconfiguration application server; receive an application installer,wherein the at least one client is enabled to use the web interface tofacilitate a transmission of the application installer in a plurality ofportions; commence installing the application based on each of theplurality of portions being received; transmit a plurality of statusnotifications to the at least one client until each of the plurality ofportions have been received by the at least one client, wherein each ofthe plurality of status notifications corresponds to a receipt of adifferent portion of the plurality of portions; configure theapplication based on at least one input received from the at least oneclient, wherein the at least one client is enabled to use the webinterface to facilitate transmitting the at least one input to saidconfiguration application server; generate a server image based on theapplication configuration; and transmit the server image to a datamanagement system, wherein the server image is stored in the datamanagement system for deployment.